#include<iostream>

using namespace std;

int path[10],n;
bool used[10];

void dfs(int pos)
{
    if(pos==n) 
    {
        for(int i=0;i<n;++i) printf("%d ",path[i]);
        printf("\n");
        return ;
    }
    
    for(int i=1;i<=n;++i)
    {
        if(!used[i])
        {
            path[pos]=i;
            used[i]=true;
            dfs(pos+1);
            path[pos]=0;
            used[i]=false;
        }
    }
}

int main()
{
    cin>>n;
        
    dfs(0);
    return 0;
}